package com.snopy.concurrency.n7;

import lombok.extern.slf4j.Slf4j;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;

/**
 * @author snopy
 * @version 1.0.0
 * @classname Test1
 * @description
 *
 * final类的使用
 * 发现该类、类中所有属性都是final的
 *  属性用final修饰保证了该属性是只读的，不能修改
 *  类用final修饰保证了该类中的方法不能被覆盖，防止子类无意间破坏不可变性
 * @email 77912204@qq.com
 * @date 2022/06/29 11:04
 */
@Slf4j
public class Test1 {

    public static void main(String[] args) {
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        for (int i = 0; i < 10; i++) {
            new Thread(()->{
                log.debug("{}",dtf.format(dtf.parse("2022-06-29")));
            }).start();
        }

    }

    private static void test() {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        for (int i = 0; i < 10; i++) {
            new Thread(()->{
                try {
                    synchronized (format){
                        log.debug("{}",format.parse("2022-06-29"));
                    }
                } catch (ParseException e) {
                    e.printStackTrace();
                }
            }).start();
        }
    }
}
